Unit testing is a software testing method by which individual units of source code, sets of one or more computer program modules having associated control data, usage procedures, and operating procedures, are tested to determine whether the units, modules, and procedures meet design specification and operate as intended. Typically, a unit of source code is an individual function. Unit tests are short code fragments created by programmers for testing a corresponding unit of source code. The goal of unit testing is to isolate each part of a program to ensure that the individual parts are correct. The same unit tests are typically run against a corresponding function frequently as the source code for the program is developed and changed. If a unit test fails, generally, there is a bug either in the changed code or the tests. Depending on the size of the software project, the execution of the unit tests can generally take a significant amount of time. The software development can be delayed when tests fail, changes are made, and a full set of tests are then re-executed. Typically, even if a small portion of the source code has changed, all of the unit tests are run. The repeat execution of unnecessary tests can increase the time and resources used to develop a project.